home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2007 September / PCWSEP07.iso / Software / Linux / Linux Mint 3.0 Light / LinuxMint-3.0-Light.iso / casper / filesystem.squashfs / usr / share / gettext / intl / intl-compat.c < prev    next >
Encoding:
C/C++ Source or Header  |  2007-03-05  |  3.4 KB  |  134 lines

  1. /* intl-compat.c - Stub functions to call gettext functions from GNU gettext
  2.    Library.
  3.    Copyright (C) 1995, 2000-2003, 2005 Software Foundation, Inc.
  4.  
  5.    This program is free software; you can redistribute it and/or modify it
  6.    under the terms of the GNU Library General Public License as published
  7.    by the Free Software Foundation; either version 2, or (at your option)
  8.    any later version.
  9.  
  10.    This program is distributed in the hope that it will be useful,
  11.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13.    Library General Public License for more details.
  14.  
  15.    You should have received a copy of the GNU Library General Public
  16.    License along with this program; if not, write to the Free Software
  17.    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
  18.    USA.  */
  19.  
  20. #ifdef HAVE_CONFIG_H
  21. # include <config.h>
  22. #endif
  23.  
  24. #include "gettextP.h"
  25.  
  26. /* @@ end of prolog @@ */
  27.  
  28. /* This file redirects the gettext functions (without prefix) to those
  29.    defined in the included GNU libintl library (with "libintl_" prefix).
  30.    It is compiled into libintl in order to make the AM_GNU_GETTEXT test
  31.    of gettext <= 0.11.2 work with the libintl library >= 0.11.3 which
  32.    has the redirections primarily in the <libintl.h> include file.
  33.    It is also compiled into libgnuintl so that libgnuintl.so can be used
  34.    as LD_PRELOADable library on glibc systems, to provide the extra
  35.    features that the functions in the libc don't have (namely, logging).  */
  36.  
  37.  
  38. #undef gettext
  39. #undef dgettext
  40. #undef dcgettext
  41. #undef ngettext
  42. #undef dngettext
  43. #undef dcngettext
  44. #undef textdomain
  45. #undef bindtextdomain
  46. #undef bind_textdomain_codeset
  47.  
  48.  
  49. /* When building a DLL, we must export some functions.  Note that because
  50.    the functions are only defined for binary backward compatibility, we
  51.    don't need to use __declspec(dllimport) in any case.  */
  52. #if HAVE_VISIBILITY && BUILDING_DLL
  53. # define DLL_EXPORTED __attribute__((__visibility__("default")))
  54. #elif defined _MSC_VER && BUILDING_DLL
  55. # define DLL_EXPORTED __declspec(dllexport)
  56. #else
  57. # define DLL_EXPORTED
  58. #endif
  59.  
  60.  
  61. DLL_EXPORTED
  62. char *
  63. gettext (const char *msgid)
  64. {
  65.   return libintl_gettext (msgid);
  66. }
  67.  
  68.  
  69. DLL_EXPORTED
  70. char *
  71. dgettext (const char *domainname, const char *msgid)
  72. {
  73.   return libintl_dgettext (domainname, msgid);
  74. }
  75.  
  76.  
  77. DLL_EXPORTED
  78. char *
  79. dcgettext (const char *domainname, const char *msgid, int category)
  80. {
  81.   return libintl_dcgettext (domainname, msgid, category);
  82. }
  83.  
  84.  
  85. DLL_EXPORTED
  86. char *
  87. ngettext (const char *msgid1, const char *msgid2, unsigned long int n)
  88. {
  89.   return libintl_ngettext (msgid1, msgid2, n);
  90. }
  91.  
  92.  
  93. DLL_EXPORTED
  94. char *
  95. dngettext (const char *domainname,
  96.        const char *msgid1, const char *msgid2, unsigned long int n)
  97. {
  98.   return libintl_dngettext (domainname, msgid1, msgid2, n);
  99. }
  100.  
  101.  
  102. DLL_EXPORTED
  103. char *
  104. dcngettext (const char *domainname,
  105.         const char *msgid1, const char *msgid2, unsigned long int n,
  106.         int category)
  107. {
  108.   return libintl_dcngettext (domainname, msgid1, msgid2, n, category);
  109. }
  110.  
  111.  
  112. DLL_EXPORTED
  113. char *
  114. textdomain (const char *domainname)
  115. {
  116.   return libintl_textdomain (domainname);
  117. }
  118.  
  119.  
  120. DLL_EXPORTED
  121. char *
  122. bindtextdomain (const char *domainname, const char *dirname)
  123. {
  124.   return libintl_bindtextdomain (domainname, dirname);
  125. }
  126.  
  127.  
  128. DLL_EXPORTED
  129. char *
  130. bind_textdomain_codeset (const char *domainname, const char *codeset)
  131. {
  132.   return libintl_bind_textdomain_codeset (domainname, codeset);
  133. }
  134.